package com.han.hotelplat.seo;

import java.util.Date;

import com.han.hotelplat.comm.utils.DateUtil;
import com.han.hotelplat.comm.utils.LocationUtils;

public class SEO {
	/**
	 * 
		 * @description	根据传递的两个日期查询对应的权重
		 * 开始日期与当日时间相差3日内的订单权重+80；
		 * 相差3-7日内的权重+50；
		 * 相差7-15日内的权重+30；
		 * 相差15日以上的权重+0。
		 * @author  han1088
		 * @param startDate
		 * @param endDate
		 * @return
	 */
	public static int getDateWeight(Date startDate, Date endDate){
		 int days = DateUtil.daysDistance(startDate, endDate)+1;
		 System.out.println("当前天数："+days);
		 if(days>=0 && days<=3){//3天以内
			 return 80;
		 }
		 if(days>3 && days<=7){//3到7天以内
			 return 50;
		 }
		 if(days>7 && days<=15){//7到15天以内
			 return 30;
		 }
		 return 0;
	}
	
	
	/**
	 * 
		 * @description	根据传递的两个位置的坐标
		 *距离与用户定位距离相差3km以内权重+80；
		 *距离相差3-5km以内权重+50；
		 *距离相差5km-10km权重+30；
		 *距离相差10km-20km以内权重+10；
		 *距离相差20km以上权重+0；
		 * @author  han1088
		 * @param current 当前坐标 数组第一位表示纬度，第二位表示经度
		 * @param dest 目的地坐标
		 * @return
	 */
	public static int getDistanceWeight(String[]current, String[] dest){
		double lat1 = Double.valueOf(current[0]);
		double lng1 = Double.valueOf(current[1]);
		double lat2 = Double.valueOf(dest[0]);
		double lng2 = Double.valueOf(dest[1]);
		double distance = LocationUtils.getDistance(lat1, lng1, lat2, lng2)/1000;//公里为单位
		distance = Math.round(distance);
		System.out.println("当前距离："+distance);
		if(0<distance && distance<=3){
			return 80;
		}
		if(3<distance && distance<=5){
			return 50;
		}
		if(5<distance && distance<=10){
			return 30;
		}
		if(10<distance && distance<=20){
			return 10;
		}
		return 0;
	}
}
